home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / cli / mx2src.arc / MX2NOTES.TXT < prev    next >
Text File  |  1989-01-05  |  3KB  |  80 lines

  1. notes.txt
  2. These are working notes to help keep track of changes or things that
  3. should or could be done to MX2.
  4.  
  5.  
  6. #@MX2 file and program directorys
  7. There are two new directory that MX2 needs. The first is called \MX2SPOOL
  8. this is created when the spooler program begins for the first time.
  9. The second is called \MX2 these should be where all MX2 executable
  10. programs should be. All script file should now look at \MX2 for MX2
  11. programs that they need.
  12.  
  13. #@mlimit
  14. Need a way to limit the amount that any one program can see with a
  15. malloc(-1). I could set up a trap handler to control the malloc but I will
  16. first try to allocate small 2 byte memory blocks to break up the memory
  17. block.
  18.  
  19. #@crashs
  20. When MX2 crashes disk sectors that were being allocated for a file that did
  21. not close can be lost. Use of a program like "TUNEUP" can fix and get back
  22. the "LOST" sectors. Also some auto programs can cause problems with MX2
  23. I use GEMBOOT.PRG and the mitchtron CACHE.PRG. I have found that the
  24. L-CACHE.PRG causes lockup and random aborts.
  25.  
  26. #@xmodem
  27. Need to take a look to see why the xmodem routines are messing up later
  28. I/O with the te command and CLI redirection to the AUX port.
  29.  
  30. #@menu
  31. I have started to play with a backgound gem menu bar for the CLI. The
  32. program MENU sets up a menu bar that can be run in backgound with the
  33. "sys bp 1 menu" command. The program 'km' will terminate the MENU 
  34. program. Although it works it also totally screws up gem. It's safer run
  35. as just a regular program but it you don't care about running another gem
  36. program try it.
  37.  
  38. #@WaitProcess MX2V220
  39. Procedure that waits for a memory location to change it's value.
  40.    WaitProcess(VAR id: INTEGER; VAR location: ADDRESS; VAR value,mask,msec: LONGCARD);
  41. This procedure puts the currentprocess to sleep then compares the contents
  42. at 'location' against 'value AND mask'. If they are the same then the
  43. process wakes up and is put in the scheduler ready list to be run. msec
  44. is the time the process will wait for the value in milliseconds if msec
  45. is set to 0 WaitProcess will never timeout.
  46. ** NEED TO ADD TO JSM2 syscall.def
  47.  
  48. #@submita&submitm
  49. Fixed submita and added submitm to utility programs. I forgot to use the
  50. xbios call to get the IOREC for the RS232 buffer.
  51.  
  52. @#mx2.acc
  53. If you want to switch out of a GEM program back to the ALT cli with the
  54. ALT m hotkey you MUST turn off the MX2.ACC first. If you don't the AES
  55. will get very mixed up. When back in the GEM program you can turn the
  56. MX2.ACC back on to allow normal background program operation. This guy is
  57. causeing some problems I may have to redesign it again.
  58.  
  59. @#spint control of spooler, network and xmodem
  60. spint 0 controls the spooler
  61. spint 1 controls both netaux and netmidi
  62. spint 2 controls the xmodem send and receive
  63. xr = xmodem receive  'xr -crc foo.bar' or 'xr -chk foo.bar'
  64. xt = xmodem send     'xt -crc foo.bar' or 'xr -chk foo.bar'
  65. xs = xmodem status   'xs'
  66. xa = xmodem abort    'xa'
  67.  
  68. @#spints
  69. Spints in MX2 are similar to signals in UNIX. They are procedures that
  70. can be started by issueing a Trigger(x) call. A spint can also carry a
  71. memory location that can be used for shared memory between processes.
  72. The source files spooler.mod, sq.mod, lp.mod and killlp.mod are simple
  73. examples.
  74. spooler.mod uses the EnableSpint call to setup spint 0 to a procedure
  75. sq and a pointer to the variable spintcmd.
  76. sq.mod, lp.mod and killlp.mod use the SpintInfo and Trigger calls to
  77. communicate with the spooler.prg
  78.  
  79.  
  80.